package com.fan.teamer.service;

import java.util.List;

import com.fan.teamer.model.domain.Member;
import com.fan.teamer.model.domain.Team;
import com.fan.teamer.model.domain.TeamMember;
import com.fan.teamer.model.domain.TeamMemberId;

public interface TeamMemberService extends TeamerService {
	public TeamMember getTeamMember(TeamMemberId id);

	public List<TeamMember> getAllTeamMembers();

	public int getSize();

	public void addTeamMember(TeamMember teamMember);

	public void updateTeamMember(TeamMember teamMember);

	public void deleteTeamMember(TeamMember teamMember);

	public boolean hasTeamMember(TeamMemberId id);

	public List<String> getColumnNames();

	public List<Member> getTeamMembers(Team team);

	public List<Team> getMemberTeams(Member member);

	public void deleteByMember(Member member);

	public void deleteByTeam(Team team);

	public TeamMember getTeamMember(Team team, Member member);

	public void deleteMemberFromTeam(Team team, Member member);
}
